<?php

declare(strict_types=1);

namespace App\Job;

use Hyperf\AsyncQueue\Job;
use App\Model\User;

class TestJob extends Job
{

    public $params;

    /**
     * 任务执行失败后的重试次数，即最大执行次数为 $maxAttempts+1 次
     *
     * @var int
     */
    protected $maxAttempts = 2;

    public function __construct($params)
    {
        // 这里最好是普通数据，不要使用携带 IO 的对象，比如 PDO 对象
        $this->params = $params;
    }

    // 根据参数处理具体逻辑
    // 通过具体参数获取模型等
    // 这里的逻辑会在 ConsumerProcess 进程中执行
    public function handle()
    {
        //逻辑处理
        $params = $this->params;
        User::query()->where('id', $params['id'])->update(['nick_name' => 'ChenP']);
    }
}
